package com.xiaomeng.singleton.type7;

public class SingletonTest07 {
    public static void main(String[] args) {
        Singleton instance1 = Singleton.INSTANCE;
        Singleton instance2 = Singleton.INSTANCE;
        System.out.println(instance1 == instance2);
        System.out.println(instance1.hashCode());
        System.out.println(instance2.hashCode());
        
    }
}
/**
 * 使用枚举可以实现单例:
 *  借助JDK1.5中添加的枚举来实现单例,不仅能避免多线程的同步问题,而且还能防止反序列化重新创建新的对象
 *  这种方式是Effective Java作者Josh Bloch 提倡的方式
 *  推荐使用
 * */
enum Singleton {
    INSTANCE;   // 只有一个属性,保证是单例
    public void sayOK() {
        System.out.println("ok~");
    }

}
